@Niki
2年前 提問
1個回答
SQL主從備份原理是什么
在下炳尚
2年前
SQL主從備份原理是以下六點:
從庫的IO線程向主庫的主進程發送請求,主庫驗證從庫,交給主庫IO線程負責數據傳輸;
主庫IO線程對比從庫發送過來的master.info里的信息,將binlog文件信息,偏移量和binlog文件名等發送給從庫
從庫接收到信息后,將binlog信息保存到relay-bin中,同時更新master.info的偏移量和binlog文件名
從庫的SQL線程不斷的讀取relay-bin的信息,同時將讀到的偏移量和文件名寫道relay-log.info文件,binlog信息寫進自己的數據庫,一次同步操作完成。
完成上次同步后,從庫IO線程不斷的向主庫IO線程要binlog信息
從庫如果也要做主庫,也要打開log_bin 和log-slave-update參數
mysql主從復制存在的問題:
主庫宕機后,數據可能丟失
從庫只有一個sql Thread,主庫寫壓力大,復制很可能延時
解決方法:
半同步復制—解決數據丟失的問題
并行復制—-解決從庫復制延遲的問題